int *p="ashf" 怎么理解
来源:百度知道 编辑:UC知道 时间:2024/06/18 12:21:44
在c++中为什么指针能赋值给字符,而不能赋值给数字,而且,char *p=fasdsdaf"; cout<<&p[5];的运行结果怎么是sdaf?
int *p="ashf"的意思是定义一个int指针p,它的值等于字符串"ashf"在内存中的首地址,也就是字符'a'的地址,这个当然是可以的。cout<<&p[5];的运行结果应该不是sdaf吧,应该是daf才对,因为char* p="fasdsdaf"指的是p指针"fasdsdaf"的首地址,即p[0]='f',p[1]='a',...,所以p[5]='d',所以运行结果实p[5]之后的内容(包括p[5]),要记住,指针实际上就是内存地址。
若定义:"int a[10],*p;p=a;"则执行"p=p+5;"后,与*p不相等的是()。
int *p(int int)与int (*p)(int int)区别?
int *p=&a;和 int *p; *p=a;和 int *p; p=&a;有区别么?
int (*p)()
int *p和 int *p
"int x y=0,z,*p[3];p[0]=&y;p[1]=&y;p[2]=&z;",以下表达式有语法错误的是
int *p=new int [3]和int p[3]是一回事吗?
int *p, m=5, n; A p=&n; scanf("%d", *p); B scanf("%d", &n); p=n; C p=&n; *p=m;
C++语句int* p=new int是什么意思?
c语言int *p=a解释